package cn.com.hhrcw.params;

import cn.com.hhrcw.base.BaseParams;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 个人基本信息
 * @Author: jiangdong
 * @Date: 2020-10-30
 * @Version: V1.0
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "pi_info参数", description = "个人基本信息")
public class PiInfoParams extends BaseParams implements Serializable {

    /**
     *
     */
    private String id;

    /**
     * 用户名
     */
    @ApiModelProperty(value = "姓名")
    private String username;

    /**
     * 姓名
     */
    @ApiModelProperty(value = "姓名")
    @NotBlank(message = "姓名")
    private String name;

    /**
     * 邮箱
     */
    @ApiModelProperty(value = "邮箱")
    @NotBlank(message = "邮箱必填")
    private String email;

    /**
     * 性别0未设置 1男 2女
     */
    @ApiModelProperty(value = "性别0未设置 1男 2女")
    @NotNull(message = "性别0未设置 1男 2女必填")
    private Integer sex;

    /**
     * 出生日期
     */
    @ApiModelProperty(value = "出生日期")
    @NotNull(message = "出生日期必填")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date birthday;

    /**
     * 户口所在地
     */
    @ApiModelProperty(value = "户口所在地")
    private String homeTown;

    /**
     * 现居地
     */
    @ApiModelProperty(value = "现居地")
    private String liveCity;

    /**
     * 0 职场人 1应届生  2在校生
     */
    private Integer identity;

    /**
     * 参加工作时间
     */
    @ApiModelProperty(value = "参加工作时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM")
    private Date jobTime;

    /**
     * 电话
     */
    @ApiModelProperty(value = "电话")
    private String phone;

    /**
     * 政治面貌
     */
    private String political;

    /**
     * 工作经验
     */
    @ApiModelProperty(value = "工作经验")
    private Integer workYears;

    /**
     * 0 未婚 1已婚已育 2 已婚未育 3离异
     */
    @ApiModelProperty(value = "0 未婚 1已婚已育 2 已婚未育 3离异")
    private Integer maritalStatus;

    /**
     * 工作状态 0离职-随时到岗 1在职-月内到岗 2-在职考虑机会 3在职-暂不考虑
     */
    @ApiModelProperty(value = "工作状态 0离职-随时到岗 1在职-月内到岗 2-在职考虑机会 3在职-暂不考虑")
    @NotNull(message = "工作状态 0离职-随时到岗 1在职-月内到岗 2-在职考虑机会 3在职-暂不考虑必填")
    private Integer workState;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private String userId;

    /**
     * 身份证正面照片id
     */
    @ApiModelProperty(value = "身份证正面照片id")
    private String positiveFileid;

    /**
     * 身份证反面照片id
     */
    @ApiModelProperty(value = "身份证反面照片id")
    private String backFileid;

    /**
     * 身份证号
     */
    @ApiModelProperty(value = "身份证号")
    private String idNumber;

    /**
     * 户口所在地code
     */
    @ApiModelProperty(value = "户口所在地code")
    private String[] homeTownCode;

    /**
     * 居住城市code
     */
    @ApiModelProperty(value = "现居地")
    private String[] liveCityCode;

    /**
     * 头像
     */
    @ApiModelProperty(value = "头像")
    private String photoId;

    /**
     * 昵称
     */
    private String nickName;

    /**
     * 是否参加工作1参加0未参加
     */
    private Integer jobFlag;

    /**
     * 职位
     */
    private String stationName;

    private String r1;

    /**
     * 民族
     * 使用时间： 2021/5/25 14:17
     * author 朱修轩
     */
    private String r2;

    /**
     * 身高
     * 使用时间： 2021/5/25 14:17
     * author 朱修轩
     */
    private String r3;

    /**
     * 体重
     * 使用时间： 2021/5/25 14:17
     * author 朱修轩
     */
    private String r4;

    /**
     * 驾驶证
     * 使用时间： 2021/5/25 14:17
     * author 朱修轩
     */
    private String r5;

    /**
     * 身份证号
     * 使用时间： 2021/5/25 14:17
     * author 朱修轩
     */
    private String r6;

    /**
     * 紧急联系人
     * 使用时间： 2021/5/25 14:17
     * author 朱修轩
     */
    private String r7;

    /**
     * 紧急联系方式
     * 使用时间： 2021/5/25 14:17
     * author 朱修轩
     */
    private String r8;

    /**
     * 入党时间
     */
    private Date partyTime;

    /**
     * 外语水平(校招)
     */
    private String foreignLanguage;

    /**
     * 计算机水平(校招)
     */
    private String computerSkill;


    /**
     * 现居地详细地址
     */
    private String address;
}
